//登录接口参数类型定义
export interface TypeLoginAPI {
  userName: string
  password: string
}
/**
 * 部门模块接口参数类型定义
 */
//部门列表接口参数类型定义
export interface TypeDeptListAPI {
  _id: string
  deptName: string
  userName: string
  parentId: string
  updateTime: string
  createTime: string
  children: TypeDeptListAPI[]
}
//Table表格列类型定义
export interface TypeDeptListTableColumn {
  title: string
  dataIndex: string
  key: string
  width: string
}
//所有用户信息接口参数类型定义
export interface TypeAllUserInfoAPI {
  _id: string
  userId: number
  userName: string
  userEmail: string
}
//新增部门接口参数类型定义
export interface TypeAddDeptAPI {
  deptName: string
  parentId: string
  userName: string
}
//编辑部门接口参数类型定义
export interface TypeEditDeptAPI {
  deptName: string
  parentId: string
  userName: string
  _id: string
}
/**
 *菜单模块接口参数类型定义
 *
 */

//菜单列表接口参数类型定义
export interface TypeMenuListAPI {
  _id: string
  menuType: 1
  menuName: string
  path: string
  icon?: string
  orderBy?: number
  menuState: number
  parentId: string
  createId: number
  createTime: string
  updateTime: string
  menuCode?: string
  children: TypeMenuListAPI[]
}
//菜单添加接口参数类型定义
export interface TypeAddMenuAPI {
  icon: string
  menuName: string
  menuState: number
  menuType: number
  orderBy: number
  parentId: string
  path: string
}
//菜单编辑接口参数类型定义
export interface TypeEditMenuAPI {
  icon?: string
  menuName: string
  menuState: number
  menuType: number
  orderBy?: number
  parentId: string
  path: string
  _id: string
}
/**
 * 角色管理模块接口参数类型定义
 */

//获取角色列表接口参数类型定义
//权限数据的类型定义
interface permissionListTYPE {
  checkedKeys: string[]
  halfCheckedKeys: string[]
}
//list中每一个对象类型定义
export interface listItemTYPE {
  permissionList: permissionListTYPE
  _id: string
  remark: string
  roleName: string
  createId: number
  updateTime: string
  createTime: string
}
//获取到的data里面的list数组类型定义
export type listArrayTYPE = listItemTYPE[]
//获取到的data里面的分页信息类型定义
interface pageInfoTYPE {
  pageNum: number
  pageSize: number
  total: number
}
//整个data类型定义
export interface TypeRoleListAPI {
  list: listArrayTYPE
  page: pageInfoTYPE
}
//新增角色接口参数类型定义
export interface TypeAddRoleAPI {
  remark: string
  roleName: string
}
//编辑角色接口参数类型定义
export interface TypeEditRoleAPI {
  remark: string
  roleName: string
  _id: string
}
//删除角色接口参数类型定义
export interface TypeDeleteRoleAPI {
  _id: string
}
//更新权限的参数类型定义
export interface TypeUpdatePermissionAPI {
  _id: any
  permissionList: permissionListTYPE
}
//查询角色信息接口参数类型定义
export interface TypeSearchInfoAPI {
  pageNum: number
  pageSize: number
  roleName: string
}

/**
 * 用户列表模块接口参数类型定义
 */
//分页信息类型定义
export interface TypeUserPageInfo {
  pageNum: number
  pageSize: number
  total: number
}
//用户列表数据类型定义
export interface TypeUserListData {
  userImg: string
  createTime: string
  userId: number
  userName: string
  userEmail: string
  mobile: string
  sex: number
  deptId: string
  deptName: string
  job: string
  state: number
  role: number
  createId: number
  lastLoginTime: string
  roleList: string
}
//搜索信息类型定义
export interface TypeSearchInfo {
  state: number
  pageNum: number
  pageSize: number
}
//用户列表接口参数类型定义
export interface TypeUserListAPI {
  page: TypeUserPageInfo
  list: TypeUserListData[]
}
//新增用户接口参数类型定义
export interface TypeAddUserAPI {
  deptId: string
  job: string
  mobile: string
  roleList: string
  state: number
  userEmail: string
  _id: number
  userImg: string
  userName: string
}
//编辑用户接口参数类型定义
export interface TypeEditUserAPI {
  deptId: string
  job: string
  mobile: string
  roleList: string
  state: number
  userEmail: string
  userId: number
  userImg: string
  userName: string
}
